# 图像读取、保存，像素读取、修改

import cv2

# 读取图片
img = cv2.imread("src/lena.png")

# 显示图像
cv2.imshow("Demo", img)

# 等待显示
cv2.waitKey(0)
cv2.destroyAllWindows()

# 保存图像
cv2.imwrite("src/lena_2.png", img)

# 读取图片，注意：OpenCV读取图像是B、G、R存储显示，需要转换为R、G、B再进行图像处理。
# img = cv2.imread("src/lena.png", cv2.IMREAD_UNCHANGED)  # 图像不可变

test = img[100, 100]
print(test)

print('-----------')

img[100, 100] = [255, 255, 255]
# 分别获取修改后BGR通道像素
blue = img[100, 100, 0]
print(blue)
green = img[100, 100, 1]
print(green)
red = img[100, 100, 2]
print(red)

# 修改区域像素
img[100:200, 100:200] = [255, 255, 255]  # 行100至200 和列100至200的像素区域设置为白色

# 显示图像
cv2.imshow("Demo", img)

# 等待显示
cv2.waitKey(0)
cv2.destroyAllWindows()
